Reading Time: 1 minutes
Active Directory環境下のコンピューターが、ドメイン認証によりログオンを行う場合、通常はドメインコントローラーと通信を行い認証する必要があります。しかし、例えば外出時など、ドメインコントローラーと通信ができない場合でも、ドメインアカウントでPCへログオンできるように、実はハッシュ化されたパスワード情報が、コンピューター内にキャッシュされています。
過去にそのコンピューターに対して、ソフトウェアのインストールやメンテナンスなどの様々な理由により、高権限を持つドメインのアカウントによって一度でもログオンを行ったことがある場合は、マルウェアやハッキングなどの不正アクセスにより、高権限のパスワード情報が簡単に盗まれてしまう可能性があります。 ここで、以下のような疑問を持つ方もいるかもしれません。
「でも、パスワードがハッシュ化されているのならば、仮に盗まれたとしても問題ないのでは?」
しかし、平文の状態のパスワードを使用しなくても、ハッシュ情報を使用してログオンができてしまう手法があります。その手法を利用した攻撃こそが、「Pass the Hash攻撃」です。
1.Pass the Hash攻撃とは
Pass the Hash攻撃とは、認証時に使用されるパスワードのハッシュ情報を不正に取得し、そのハッシュ情報を使用して認証を行う、なりすまし攻撃のことを言います。では、Pass the Hash攻撃はどうやって行われるのでしょうか。Pass the Hash攻撃に使用されるツールの一つに、「psexec」が挙げられます。「psexec」はMicrosoftが提供するリモート実行ツールで、本来は管理者が運用管理を行う際、プログラムの遠隔操作を行うために提供されました。しかし、現在は攻撃者が遠隔操作を行う際に使用されるケースが多く報告されており、Pass the Hash攻撃にも使用されます。
そこで、以下では「psexec」を使用してPass the Hash攻撃が行われた場合に、いち早く検知をするため、疑うべき2つの兆候をご紹介したいと思います。
2.psexecの痕跡
2-1.認証に使用されるプロトコル
「psexec」を使用してリモート接続を行った場合、イベントビューアー上に以下の内容のログが生成されます。
イベントID:4624
ログオンタイプ:3
パッケージ名:NTLMv2
イベントID4624・ログオンタイプ 3というのは、通常のログオン成功イベントの際に生成されるものですが、パッケージ名としてはKerberosではなく「NTLMv2」が使用されています。通常、Active Directoryのドメイン認証には、Kerberosプロトコルが使用されるため、ドメインコントローラーのイベントログに、「NTLMv2」が使用されたログオンイベントが存在していた場合、psexecによりログオンが行われた可能性があるのです。(※Kerberos認証についての詳細はこちらの記事をご参照ください。)
なお、ご留意いただきたい点として、ドメイン管理下の環境にて「NTLMv2」が使用されたからと言って、必ずしもpsexecが使用されたというわけではありません。例えばファイルサーバーにアクセスする際に、IPアドレスで指定を行った場合なども、「NTLMv2」が使用されます。そのため、当該イベントログが生成されていた場合は、あくまで可能性を疑う程度にとどめて頂ければと思います。
2-2.psexec実行時に生成されるイベントログ
2-1.でご紹介したイベントログに加え、psexecが使用された際には、システムログのイベントID7045に、以下のメッセージ内容のログが生成されます。
サービスがシステムにインストールされました。 サービス名: PSEXESVC サービス ファイル名: %SystemRoot%\PSEXESVC.exe サービスの種類: ユーザー モード サービス サービス開始の種類: 要求による開始 サービス アカウント: LocalSystem
このように、「psexec」が使用された場合には、きちんとイベントビューアー上に痕跡が残ります。この痕跡を見逃さないことが、「psexec」によるPass the Hash攻撃に対する早期発見につながるのです。
3.イベントログの監視
最後に、2.でご紹介した痕跡を見逃さないため、弊社製品を使った監視方法をご紹介したいと思います。今回ご紹介するのは、イベントログやSyslogをはじめとした、各種ログの収集、監視が可能なEventLog Analyzerという製品になります。Active Directory環境下のセキュリティログ監査に特化したADAudit Plusとは異なり、EventLog Analyzerの場合はすべてのイベントログが監視対象となるため、psexecの使用時に生成されるシステムログも監視することが可能です。
- [アラート]タブに移動します。
- [+アラート追加]をクリックします。
- アラート名・アラートの重要度(高・中・低)・監視対象のホストを選択します。
- [カスタムアラート作成]タブに移動します。
- 以下のように条件を指定します。
- [アラート通知]に通知先のメールアドレスを指定後、[アラート追加]をクリックします。
以上の手順により、psexecの実行を監視することが可能です。
もし、EventLog Analyzerに少しでもご興味を持っていただきましたら、以下のリンクより30日間無料で評価できる評価版をダウンロードできますので、是非お試しください。
評価版ダウンロードURL:https://www.manageengine.jp/products/EventLog_Analyzer/download.html
また、評価版を利用する際にインストールガイドなどが記載したスタートアップガイドもございますので、合わせてご参照ください。
スタートアップガイド:https://www.manageengine.jp/products/EventLog_Analyzer/startup-guide.html
フィードバックフォーム
当サイトで検証してほしいこと、記事にしてほしい題材などありましたら、以下のフィードバックフォームよりお気軽にお知らせください。